
package com.tarena.lbs.message.web.controller;

import com.tarena.lbs.base.protocol.model.Result;
import com.tarena.lbs.message.web.service.TriggerMsgTemplateService;
import com.tarena.lbs.pojo.message.dos.TriggerMsgTemplate;
import com.tarena.lbs.pojo.message.param.TriggerMsgTemplateInsertParam;
import com.tarena.lbs.pojo.message.param.TriggerMsgTemplateUpdateParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * 触发消息模板管理控制器类
 */
@RestController
@RequestMapping("/admin/message/triggerMsgTemplate")
@Api(tags = "触发消息模板管理")
@CrossOrigin
public class TriggerMsgTemplateController {
    @Autowired
    TriggerMsgTemplateService triggerMsgTemplateService;

    /**
     * 新增触发消息模板
     *
     * @param triggerMsgTemplateInsertParam 触发消息模板新增参数
     * @return Result<Boolean>对象
     */
    @ApiOperation("1,新增触发消息模板")
    @PostMapping("/insert")
    public Result<Boolean> insert(@RequestBody TriggerMsgTemplateInsertParam triggerMsgTemplateInsertParam) {
        boolean result = triggerMsgTemplateService.insert(triggerMsgTemplateInsertParam);
        return new Result<>(result);
    }

    /**
     * 查询所有触发消息模板
     *
     * @return Result<List<TriggerMsgTemplate>>对象
     */
    @ApiOperation("2,查询所有触发消息模板")
    @PostMapping("/selectAll")
    public Result<List<TriggerMsgTemplate>> selectAll() {
        List<TriggerMsgTemplate> list = triggerMsgTemplateService.selectAll();
        return new Result<>(list);
    }

    /**
     * 更新触发消息模板
     *
     * @param triggerMsgTemplateUpdateParam 触发消息模板更新参数
     * @return Result<Boolean>对象
     */
    @ApiOperation("3,更新触发消息模板")
    @PostMapping("/updateById")
    public Result<Boolean> updateById(@RequestBody TriggerMsgTemplateUpdateParam triggerMsgTemplateUpdateParam) {
        boolean result = triggerMsgTemplateService.UpdateById(triggerMsgTemplateUpdateParam);
        return new Result<>(result);
    }

    /**
     * 删除触发消息模板
     *
     * @param id 触发消息模板编号
     * @return Result<Boolean>对象
     */
    @ApiOperation("4,删除触发消息模板")
    @PostMapping("/deleteById")
    @ApiImplicitParam(name = "id",value = "触发消息模板编号")
    public Result<Boolean> deleteById(Long id) {
        boolean result = triggerMsgTemplateService.deleteById(id);
        return new Result<>(result);
    }
}
